package net.zjitc.mapper;

import net.zjitc.pojo.User;
import net.zjitc.vo.TestVo;
import net.zjitc.vo.UserVo;
import org.apache.ibatis.annotations.Param;
import org.apache.ibatis.annotations.Select;

import java.util.List;
import java.util.Map;

//UserMapper.java接口 找UserMapper.xml
//java和mapper放在一个目录下,
public interface UserMapper {
    User findById(int id);

    List<User> findAll();

    /**
     * 按条件更新
     * @param user
     * @return
     */
    int update(User user);
    int addUser(User user);
    //删除根据id删除
    int deleteById(int id);

    /*
    方法一：使用param1 和param2的方式绑定
    方法二：使用@Param注解的方式
     */

    List<User> findByConditions(@Param("uname") String uname,@Param("uage") Integer uage);

    /**
     * 使用choose完成
     * @param uname
     * @param uage
     * @return
     */
    List<User> findByConditions2(@Param("uname") String uname,@Param("uage") Integer uage);

    /**
     * 使用where标签元素完成条件
     * @param uname
     * @param uage
     * @return
     */
    List<User> findByConditions3(@Param("uname") String uname,@Param("uage") Integer uage);

    List<User> findByConditions4(@Param("uname") String uname,@Param("uage") Integer uage);

    /**
     * ids存入在数组中
     * @param arr
     * @return
     */
    List<User> findByIds(TestVo vo);

    /**
     * ids存入在集合中
     * @param list
     * @return
     */
    List<User> findByListIds(List list);

    List<User> findByMapIds(Map map);

    User findUserOrdersByUid(int id);
    User findUserOrdersByUid2(int id);
}
